1. Field of the Invention
This invention relates generally to RAKE receivers, and more particularly to a multiple channel programmable correlator co-processor (CCP) that supports CDMA base-station and handset RAKE receiver operations.
2. Description of the Prior Art
A RAKE receiver is a radio receiver that includes a plurality of independent receiver units, most commonly referred to as RAKE branches, each of which receives and operates as a diversity combiner of multipath propagated signals. RAKE receivers are especially used in CDMA receivers, among others. RAKE receivers generally involve correlations and accumulations associated with a particular wireless communication protocol wherein each RAKE branch is dedicated to processing the multipath propagated signals in a predetermined manner to accommodate a desired communication protocol. U.S. Pat. No. 5,978,423, entitled Method and Arrangement of Signal Tracking and A Rake-Receiver Utilizing the Arrangement, issued Nov. 2, 1999 to Farjh and U.S. Pat. No. No. 5,917,851, entitled Method for Allocating Rake Branches and Rake Receiver, issued Jun. 29, 1999 to Jarvela et al. exemplify prior art RAKE receiver techniques and architectures in which RAKE branches are permanently allocated to fixed signal processing tasks.
In view of the foregoing discussion, a need exists in the wireless communications art for a programmable, highly flexible, vector-based correlation machine capable of performing CDMA base-station and handset RAKE receiver operations such as finger spreading and search, among other things, for multiple channels, regardless of the particular wireless communication protocol.
The present invention is directed to a Correlator Co-Processor (CCP) particularly suitable for supporting spread-spectrum CDMA communication systems such as IMT2000-DS (3.84 MHz chip rate specification), IMT2000-MC, IMT2000-TDD, and CDMAOne/IS-95 as well as GPS. The CCP is a programmable, highly flexible, vector-based correlation machine that performs CDMA base-station and mobile-station RAKE receiver operations. The CCP is a centralized correlation machine that can be used for various RAKE receiver tasks such as finger spreading and search, among other things, to accommodate most functions common to RAKE receivers, regardless of the particular wireless protocol. Each RAKE receiver task uses a common centralized data path of the CCP in a time-multiplexed fashion, so that many different tasks can be simultaneously performed on the CCP. The main data path is vectorized in order to reduce power dissipation.
Sharing of the CCP main data path for various RAKE receiver functions, e.g. finger demodulation, code tracking loops and search, accommodates a CCP structure that has programmably configurable resources, rather than hardwired resources common to known architectures. The amount of CCP resources is allocated in any desired way to accommodate a given situation. Unused CCP resources are disabled to preserve power dissipation.
The CCP is capable of performing complex valued correlations that consist of de-spreading and coherent accumulation. The CCP is also capable of performing non-coherent accumulations such as accumulating xe2x80x9csymbolxe2x80x9d energy values and returning the accumulated energy values for a specified window of offsets for search operations. The CCP, for example, can accumulate early, on-time and late samples of a RAKE finger for use in a finger""s code-tracking loop (typically a delay-lock loop (DLL)).
One preferred embodiment of the CCP comprises a Data Path having xe2x80x9cmultipliersxe2x80x9d to multiply samples from an input buffer with samples of pseudo noise (PN) and Walsh codes, adder trees to generate partial correlations, a coherent accumulator to sum the current partial correlation with previous partial correlations(s), and a post processing block for performing RMS (sqrt (I2+Q2)) calculations (sometimes referred to as xe2x80x9cenergyxe2x80x9d values) and non-coherent accumulations. The CCP Data Path preferably employs extensive pipeline stages to maximize computational capacity as well as temporary (xe2x80x9cscratchxe2x80x9d) memories to store partial correlation and intermediate RMS accumulation results. The preferred embodiment of the CCP further comprises a plurality of output buffers such as a Finger Symbol Buffer, DPE Buffer, LCI Buffer, EOL Buffer, SSC Search Buffer, and/or PSC Search Buffer for supporting various types of tasks and storing task results. According to the preferred embodiment, the CCP further comprises PN and Walsh generators, a Controller, a Task Buffer, an Interrupt Generator and Configuration Parameter storage units.
The present invention thus provides various technical advantages. In one aspect of the invention, a programmable, highly flexible, vector-based correlator co-processor is provided to support a plurality of CDMA base-station and mobile-station RAKE receiver operations.
In another aspect of the invention, a centralized correlation machine is provided to accomplish various RAKE receiver tasks such as finger de-spreading and search.
In yet another aspect of the invention, a correlator co-processor is provided with a centralized data path capable of supporting time-multiplexed operations such that many different tasks can be simultaneously performed by the correlator co-processor.
In still another aspect of the invention, a correlator co-processor for supporting a plurality of CDMA base-station and mobile-station RAKE receiver operations is provided with a vectorized main data path to reduce power dissipation.
According to another aspect of the invention, a correlator co-processor having a shared data path is programmably configurable to accommodate a plurality of CDMA base-station and mobile-station RAKE receiver operations without necessitating xe2x80x9chardwiredxe2x80x9d structural elements.
According to yet another aspect of the invention, a correlator co-processor for supporting a plurality of CDMA base-station and mobile-station RAKE receiver operations is capable of performing complex valued correlations consisting of de-spreading and coherent accumulation and is further capable of accumulating xe2x80x9csymbolxe2x80x9d energy values (non-coherent accumulations).
In still another aspect of the invention, a correlator co-processor for supporting a plurality of CDMA base-station and mobile-station RAKE receiver operations is configurable to support the IMT2000-DS (3.84 MHz chip rate specification), IMT2000-MC, IMT2000-TDD, CDMAOne/IS-95 and GPS wireless protocols.
As used herein, the following terms have the following meanings.
xe2x80x9c3Gxe2x80x9d means 3rd generation.
xe2x80x9cABBxe2x80x9d means analog baseband (cf AFE).
xe2x80x9cA/D (ADC)xe2x80x9d means analog to digital converter.
xe2x80x9cAFCxe2x80x9d means automatic frequency control.
xe2x80x9cAFExe2x80x9d means analog front end (cf ABB).
xe2x80x9cAGCxe2x80x9d means automatic gain control.
xe2x80x9cARIBxe2x80x9d means Association of Radio Industries and Businesses (Japan).
xe2x80x9cARMxe2x80x9d means advance RISC machine.
xe2x80x9cBSxe2x80x9d means base station.
xe2x80x9cCCPxe2x80x9d means correlator co-processor.
xe2x80x9cCDMAxe2x80x9d means code division multiple access.
xe2x80x9cCPICHxe2x80x9d means common pilot channel.
xe2x80x9cD/A (DAC)xe2x80x9d means digital to analog converter.
xe2x80x9cDBBxe2x80x9d means digital baseband.
xe2x80x9cDLLxe2x80x9d means delay lock loop.
xe2x80x9cDMAxe2x80x9d means direct memory access.
xe2x80x9cDPCCHxe2x80x9d means dedicated physical control channel.
xe2x80x9cDPE (DPPE)xe2x80x9d means delay profile estimation.
xe2x80x9cDPPxe2x80x9d means delay path power.
xe2x80x9cDSPxe2x80x9d means digital signal processor/processing.
xe2x80x9cDSPRDCxe2x80x9d means DSP Research and Development Center.
xe2x80x9cETSIxe2x80x9d means European Telecommunications Standards Institute.
xe2x80x9cFSCxe2x80x9d means first short code.
xe2x80x9cGPSxe2x80x9d means global positioning system.
xe2x80x9cHWxe2x80x9d means hardware.
xe2x80x9cITUxe2x80x9d means International Telecommunications Union.
xe2x80x9cL1xe2x80x9d means layer 1 (physical layer).
xe2x80x9cL2xe2x80x9d means layer 2 (link layer).
xe2x80x9cL3xe2x80x9d means layer 3 (network layer).
xe2x80x9cLCxe2x80x9d means long code.
xe2x80x9cLCIxe2x80x9d means long code indicator.
xe2x80x9cLFSRxe2x80x9d means linear feedback shifter register.
xe2x80x9cMSxe2x80x9d means mobile station.
xe2x80x9cPICHxe2x80x9d means paging indication channel.
xe2x80x9cPNxe2x80x9d means pseudo noise.
xe2x80x9cPSCxe2x80x9d means primary search code.
xe2x80x9cRFxe2x80x9d means radio frequency.
xe2x80x9cRTTxe2x80x9d means radio transmission technology.
xe2x80x9cRXxe2x80x9d means receive/receiver.
xe2x80x9cSCxe2x80x9d means short code.
xe2x80x9cSIRxe2x80x9d means signal to interference ratio.
xe2x80x9cSSCxe2x80x9d means secondary search code.
xe2x80x9cSWxe2x80x9d means software.
xe2x80x9cTIxe2x80x9d means Texas Instruments Incorporated.
xe2x80x9cTIAxe2x80x9d means Telecommunications Industry Association.
xe2x80x9cTRDCxe2x80x9d means Tsukuba Research and Development Center.
xe2x80x9cTXxe2x80x9d means transmit/transmitter.
xe2x80x9cUMTSxe2x80x9d means Universal Mobile Telephone System.
xe2x80x9cWBUxe2x80x9d means Wireless Business Unit (TI).
xe2x80x9cWCSxe2x80x9d means Wireless Communications Systems (TI).
xe2x80x9cWCDMAxe2x80x9d means wideband CDMA.
xe2x80x9cAlgorithmic Softwarexe2x80x9d means an algorithmic program used to direct the processing of data by a computer or data processing device.
xe2x80x9cData Processing Devicexe2x80x9d refers to a CPU, DSP, microprocessor, micro-controller, or other like device and an interface system, wherein the interface system provides access to the data processing device such that data can be entered and processed by the data processing device.
xe2x80x9cDiscrete Dataxe2x80x9d means digitized data that can be stored in the form of singularly isolated, discontinuous data or digits.